dxp-ux
GET - loyaltyAccount -TMF658
GET: /loyaltyAccount/{id}
This operation retrieves a loyaltyAccount entity.
URL
https://[localhost]:[port]/dxp-ux/v1/{businessId}/loyaltyAccount/{id}URL PARAMS
| name | type | description | required |
|---|---|---|---|
| businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. Expected one for Peacock Mobile project is : "PR"-Puerto Rico | Y |
| id | string | Unique identifier like MSISDN OR Service Number OR Account Number | Y |
Header
| name | type | description | required |
|---|---|---|---|
| client_id | string | The client_id identifying the channel. | Y |
| client_secret | string | Password associated with the client_id. | Y |
| X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y (for business) |
Data Model - Response
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
|---|---|---|---|
| id | string | Unique identifier for the loyalty program member. | N(PA), Y(LC) |
| name | string | The loyalty members name. | Y(PA), Y(LC) |
| state | string | Contains the lifecycle state such as: Active, Closed, Suspended and so on. | N/A(PA, LC- Evolving), Y(LC - Ceriilion) |
| accountBalance[] | array | Balances linked to the account | N(PA), Y(LC) |
| accountBalance[].balanceType | string | Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance... | Y(PA), Y(LC) |
| accountBalance[].amount | object | A base / value business entity used to represent money | Y(PA), Y(LC) |
| accountBalance[].amount.unit | string | Loyalty points | N(PA), Y(LC) |
| accountBalance[].amount.value | Number | A signed floating point number | N(PA), Y(LC) |
| accountBalance[].validFor | object | A period of time, either as a deadline | Y(PA), Y(LC) |
| accountBalance[].validFor.endDateTime | datetime | End of the time period | N(PA), N/A(LC) |
| accountBalance[].validFor.startDateTime | datetime | Start of the time period | N(PA), N(LC) |
| characteristic[] | array | Additional loyalty attributes of the member. | N/A(PA, LC- Cerillion), Y(LC - Evolving) |
| characteristic[].name | string | Name of characteristic | N/A(PA, LC- Cerillion), Y(LC - Evolving) |
| characteristic[].value | string | Value of characteristic | N/A(PA, LC- Cerillion), Y(LC - Evolving) |
accountBalance[] subResource - dataModel
| balanceType | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) | examples |
|---|---|---|---|---|
| loyaltyPointBillAvailable | string | Total loyalty points currently available from the billing cycle. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillAvailable", "amount": { "unit": "POINTS", "value": 0 }, "validFor": { "startDateTime": "2023-03-01T00:00:00-05:00" } } |
| loyaltyPointBillEarned | string | Loyalty points earned in the current billing cycle. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillEarned", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointBillExpired | string | Loyalty points that expired in the current or previous billing period. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillExpired", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointBillPrevious | string | Loyalty points carried over from the previous billing cycle. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillPrevious", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointBillSpentPrev | string | Loyalty points spent in the previous billing cycle. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillSpentPrev", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointBillTotal | string | Total accumulated loyalty points for the billing cycle. | Y(LC- Cerillion), N/A(LC- Evolving) | LC:{ "balanceType": "loyaltyPointBillTotal", "amount": { "unit": "POINTS", "value": 0 }, "validFor": { "startDateTime": "2023-03-01T00:00:00-05:00" } } |
| loyaltyPointBillWillExpire | string | Loyalty points scheduled to expire in the upcoming period. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointBillWillExpire", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointNowAvailable | string | Current loyalty points available for immediate use. | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointNowAvailable", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointNowAwarded | string | Loyalty points awarded most recently | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointNowAwarded", "amount": { "unit": "POINTS", "value": 0 } } |
| loyaltyPointNowSpent | string | Loyalty points spent most recently | Y(LC- Cerillion), N/A(LC- Evolving) | LC: { "balanceType": "loyaltyPointNowSpent", "amount": { "unit": "POINTS", "value": 0 } } |
| pointsBalance | string | Current balance of usable loyalty points for the customer. | Y(LC- Evolving), N/A(LC- Cerillion) | LC: { "balanceType": "pointsBalance", "amount": { "value": 10, "unit": "POINTS" }, "validFor": { "startDateTime": "2023-03-01T00:00:00-05:00" } } |
| lowCoreBalance | string | Low threshold monetary or prepaid balance available in the customer account | Y(LC- Evolving), N/A(LC- Cerillion) | LC: { "balanceType": "lowCoreBalance", "amount": { "value": 350, "unit": "JMD" }, "validFor": { "startDateTime": "2023-03-01T00:00:00-05:00" } } |
| nextClassPointsThreshold | string | Loyalty points required to reach the next loyalty class/tier. | Y(LC- Evolving), N/A(LC- Cerillion) | LC: { "balanceType": "nextClassPointsThreshold", "amount": { "value": 25, "unit": "POINTS" }, "validFor": { "startDateTime": "2023-03-01T00:00:00-05:00" } } |
characteristic[] subResource - dataModel
| name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) | examples |
|---|---|---|---|---|
| loyaltyClass | string | Indicates the customer’s current loyalty tier, determined based on their accumulated loyalty points. | Y(LC- Evolving), N/A(LC- Cerillion) | LC: { "name": "loyaltyClass", "value": "Beginner" } |
| nextLoyaltyClass | string | Represents the next loyalty tier the customer can achieve after meeting the required points threshold. | Y(LC- Evolving), N/A(LC- Cerillion) | LC: { "name": "nextLoyaltyClass", "value": "Bronze" } |
Key considerations
- Please find the responses in following URL DXP UX - retrieve loyaty info
PA Implementation(Mynehub system):
- This API is implemented for PA Prepaid.
- The loan offer will be generated according Loyalty Point
| Point | Level Points | Level Description |
|---|---|---|
| Beginner | 24 | Beginner 0-24 |
| Bronze | 49 | Bronze 25-49 |
| Silver | 74 | Silver 50-74 |
| Gold | 99 | Gold 75-99 |
| Diamond | 1000 | Diamond>=100 |
LC Implementation :
Cerillion System:
- This use case is used to retrieve the loyalty points of POSTPAID customers for a given accountNumber from the Cerillion system.
- This is implemented for following businessIds: AG, BB, GD, JM, LC, VC, TT, CW.
- The "id" value passed in the uriParam must be the accountNumber.
- If the user is a loyalty member, the state is set to "Active" else "Inactive".
- When the state is Inactive, the user is not a loyalty member, and loyalty balances are not applicable.
- If the dates are not retrieved from backend the default date will be displayed in the response under accountBalance[].validFor.startDateTime i.e."9999-01-01T00:00:00.00-05:00"
Evolving System:
- This use case is used to retrieve the loyalty points of PREPAID customers for a given MSISDN from the Evolving system.
- This is implemented for following businessIds: AI, AG, BB, VG, KY, DM, GD, JM, MS, KN, LC, VC, TC, CW.
- The "id" value passed in the uriParam must be the MSISDN and should be sent with BU code and country code.
- characteristic[].value where characteristic[].name= "loyaltyClass" defines current loyalty tier or level the customer belongs to based on the customer's accumulated loyalty points.
- If the dates are not retrieved from backend the default date will be displayed in the response under accountBalance[].validFor.startDateTime i.e."9999-01-01T00:00:00.00-05:00"